﻿using Newtonsoft.Json;
using System;
using System.Runtime.Serialization;

/*!
* 文件描述：一切从简，只为了更懒！
*/
namespace App.Entity
{
	[Serializable]
	[DataContract]
	public partial class Sys_Module : IEntity<Sys_Module>, ICreationAudited, IDeleteAudited, IModificationAudited
    {
        [JsonProperty(PropertyName = "id")]
        /// <summary>
        /// 描述：模块主键
        /// 可空：不为空
        /// 默认值：
        /// </summary>
        [DataMember]
		public string Id { get; set; }

		/// <summary>
		/// 描述：父级
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public string ParentId { get; set; }

		/// <summary>
		/// 描述：层次
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<int> Layers { get; set; }

		/// <summary>
		/// 描述：编码
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public string EnCode { get; set; }
        
        /// <summary>
        /// 描述：名称
        /// 可空：空
        /// 默认值：
        /// </summary>
        [DataMember]
        [JsonProperty(PropertyName = "text")]
        public string FullName { get; set; }
        
        /// <summary>
        /// 描述：图标
        /// 可空：空
        /// 默认值：
        /// </summary>
        [DataMember]
        [JsonProperty(PropertyName = "icon")]
        public string Icon { get; set; }

		/// <summary>
		/// 描述：连接
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
        [JsonProperty(PropertyName = "url")]
        public string UrlAddress { get; set; }

		/// <summary>
		/// 描述：目标
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
        [JsonProperty(PropertyName = "targetType")]
        public string Target { get; set; }

		/// <summary>
		/// 描述：菜单
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<bool> IsMenu { get; set; }

		/// <summary>
		/// 描述：展开
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
        [JsonProperty(PropertyName = "isOpen")]
        public Nullable<bool> IsExpand { get; set; }

		/// <summary>
		/// 描述：公共
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<bool> IsPublic { get; set; }

		/// <summary>
		/// 描述：允许编辑
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<bool> AllowEdit { get; set; }

		/// <summary>
		/// 描述：允许删除
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<bool> AllowDelete { get; set; }

		/// <summary>
		/// 描述：排序码
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<int> SortCode { get; set; }

		/// <summary>
		/// 描述：删除标志
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<bool> DeleteMark { get; set; }

		/// <summary>
		/// 描述：有效标志
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<bool> EnabledMark { get; set; }

		/// <summary>
		/// 描述：描述
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public string Description { get; set; }

		/// <summary>
		/// 描述：创建日期
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<DateTime> CreatorTime { get; set; }

		/// <summary>
		/// 描述：创建用户主键
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public string CreatorUserId { get; set; }

		/// <summary>
		/// 描述：最后修改时间
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<DateTime> LastModifyTime { get; set; }

		/// <summary>
		/// 描述：最后修改用户
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public string LastModifyUserId { get; set; }

		/// <summary>
		/// 描述：删除时间
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public Nullable<DateTime> DeleteTime { get; set; }

		/// <summary>
		/// 描述：删除用户
		/// 可空：空
		/// 默认值：
		/// </summary>
		[DataMember]
		public string DeleteUserId { get; set; }

	}
}